package vp.remedies.dr.home.db;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;


// Makes this annotation accessible at runtime via reflection.
@Retention(RetentionPolicy.RUNTIME)
public @interface TableAnnotation {
	/**
	 * @return the name of the Table in which the <code>BindObject</code>s
	 *         should be inserted in the <tt>database</tt>
	 */
	String tableName();

	/**
	 * Indicates weather inheritance is supported while handling database CURD
	 * operations on annotated <code>BindObject</code>.
	 * <ul>
	 * <li>If inheritance is supported then fields of super classes are
	 * considered as candidate of database CURD operations</li>
	 * <li>If inheritance is not supported then only declared fields of
	 * annotated class are considered as candidate of database CURD operations</li>
	 * </ul>
	 * 
	 * 
	 * @return <ul>
	 *         <li><code>true</code> if inheritance is supported</li>
	 *          <li><code>false</code> if inheritance is not supported</li>
	 *         </ul>
	 */
	boolean isInheritanceSupported() default false;
}
